let curPage = 1;
let pageSize = 10;
layui.use(['laydate', 'form', "laypage"], function () {
    var laydate = layui.laydate;
    var form = layui.form;
    var laypage = layui.laypage;
    //完整功能
    laypage.render({
        elem: 'page'
        , count: getCount()
        , layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip']
        , jump: function (obj) {
            curPage = obj.curr;
            pageSize = obj.limit;
            findAll();
        }
    });

    // 监听全选
    form.on('checkbox(checkall)', function (data) {

        if (data.elem.checked) {
            $('tbody input').prop('checked', true);
        } else {
            $('tbody input').prop('checked', false);
        }
        form.render('checkbox');
    });

    //执行一个laydate实例
    laydate.render({
        elem: '#start' //指定元素
    });

    //执行一个laydate实例
    laydate.render({
        elem: '#end' //指定元素
    });
    //监听提交
    form.on('submit(sreach)',
        function (data) {
            // data = data.field;
            // data.hobby = getHobby().toLocaleString();
            // console.log(data);
            findAll();
            return false;
        });

});

function getCount() {
    let count = 0;
    $.ajax({
        url: '/back/user/count',//地址：访问后台的地址
        data: getSearchData(),//前端传递给后台的数据
        type: 'get',
        async: false,
        dataType: 'json',//是后端传递到前端的数据格式
        success: function (data) {//后端给前端的一个反馈
            count = data.count;
        }
    });
    return count;
}

function getHobby() {
    var value = [];
    $('input[name=hobby]:checked').each(function () {
        //这里用所选复选框或运算后的值
        value.push($(this).val());
    });
    return value;
}

/*用户-停用*/
function member_stop(obj, id) {
    layer.confirm('确认要停用吗？', function (index) {

        $.ajax({
            url: '/back/user/enable',
            data: {id: id},
            dataType: 'json',
            success: function (data) {
                if (data.result == 'success') {
                    if ($(obj).attr('title') == '启用') {

                        //发异步把用户状态进行更改
                        $(obj).attr('title', '停用')
                        $(obj).find('i').html('&#xe62f;');
                        //$(obj).parents("tr") 找到当前a标签的父类里面有tr元素的对象
                        // $(obj).parents("tr").find(".td-status") 找到tr下面类名为td-status的对象
                        // $(obj).parents("tr").find(".td-status").find('span')找到里面的span元素的对象
                        //$(obj).parents("tr").find(".td-status").find('span').addClass添加css的类名
                        //html （“已停用”）赋值
                        $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
                        layer.msg('已停用!', {icon: 5, time: 1000});

                    } else {
                        $(obj).attr('title', '启用')
                        $(obj).find('i').html('&#xe601;');

                        $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
                        layer.msg('已启用!', {icon: 5, time: 1000});
                    }
                }
            }
        });


    });
}

/*用户-删除*/
function member_del(obj, id) {
    layer.confirm('确认要删除吗？', function (index) {
        //发异步删除数据
        $.ajax({
            url: '/back/user/del',//地址：访问后台的地址
            data: {id: id},//前端传递给后台的数据
            type: 'post',
            dataType: 'json',//是后端传递到前端的数据格式
            success: function (data) {//后端给前端的一个反馈
                console.log(data);
                if (data.result == "success") {
                    $(obj).parents("tr").remove();
                    layer.msg('已删除!', {icon: 1, time: 1000});
                }
            }

        });

    });
}


function delAll(argument) {
    var ids = [];

    // 获取选中的id
    $('tbody input').each(function (index, el) {
        if ($(this).prop('checked')) {
            ids.push($(this).val())
        }
    });

    layer.confirm('确认要删除吗？' + ids.toString(), function (index) {
        //捉到所有被选中的，发异步进行删除
        layer.msg('删除成功', {icon: 1});
        $(".layui-form-checked").not('.header').parents('tr').remove();
    });
}

function getSearchData(curr, limit) {
    return {
        username: $("#username").val(),
        start: $("#start").val(),
        end: $("#end").val(),
        phone: $("#phone").val(),
        sex: $("#sex").val(),
        hobby: getHobby().toLocaleString(),
        curPage: curPage,
        pageSize: pageSize
    };
}

function findAll() {
    // loginName: sessionStorage.getItem("loginName"),
    let data = myAjax('/back/user/findAll', getSearchData(), 'get');
    setList(data.list);

    // $.ajax({
    //     url: '/back/user/findAll',//地址：访问后台的地址
    //     data: getSearchData(),//前端传递给后台的数据
    //     type: 'get',
    //     dataType: 'json',//是后端传递到前端的数据格式
    //     success: function (data) {//后端给前端的一个反馈
    //         console.log(data);
    //         setList(data.list);
    //     }
    //
    // });
}

function setList(data) {
    let html = '';
    for (let i = 0; i < data.length; i++) {
        html += '<tr>\n' +
            '                            <td>' + data[i].id + '</td>\n' +
            '                            <td>' + data[i].username + '</td>\n' +
            '                            <td>' + setUndefinedNull(data[i].sex) + '</td>\n' +
            '                            <td>' + setUndefinedNull(data[i].phone) + '</td>\n' +
            '                            <td>' + setUndefinedNull(data[i].birthday) + '</td>\n' +
            '                            <td>' + setUndefinedNull(data[i].hobby) + '</td>\n' +
            '                            <td class="td-status">\n' +
            '                                <span class="layui-btn layui-btn-normal layui-btn-mini">' + (data[i].enable == 1 ? "已启用" : "已停用") + '</span></td>\n' +
            '                            <td class="td-manage">\n' +
            '                                <a onclick="member_stop(this,' + data[i].id + ')" href="javascript:;" title="' + (data[i].enable == 1 ? "启用" : "停用") + '">\n' +
            '                                    <i class="layui-icon">&#xe601;</i>\n' +
            '                                </a>\n' +
            '                                <a title="编辑" onclick="edit(' + data[i].id + ')"\n' +
            '                                   href="javascript:;">\n' +
            '                                    <i class="iconfont">&#xe68b;</i>\n' +
            '                                </a>\n' +
            '                                <a onclick="xadmin.open(\'修改密码\',\'member-password.html\',600,400)" title="修改密码"\n' +
            '                                   href="javascript:;">\n' +
            '                                    <i class="layui-icon">&#xe631;</i>\n' +
            '                                </a>\n' +
            '                                <a title="删除" onclick="member_del(this,' + data[i].id + ')" href="javascript:;">\n' +
            '                                    <i class="layui-icon">&#xe640;</i>\n' +
            '                                </a>\n' +
            '                            </td>\n' +
            '                        </tr>';
    }
    $("#tbody").html(html);

}

function edit(id) {
    sessionStorage.setItem("userId", id);
    xadmin.open('编辑', 'member-edit.html', 600, 400);
}

function setUndefinedNull(data) {
    return data == undefined ? "" : data;
}